package com.ccjq.jq173.shosestore.shoppingcart.dao;

import com.ccjq.jq173.shosestore.shoppingcart.po.ShoppingCart;

import java.sql.Connection;
import java.util.List;

public interface ShoppingcartDao
{
    /**
     * 查询购物车内指定的商品信息 (跟据商品id、此用户的id)
     *
     * @param productId  商品 Id
     * @param userId 用户Id
     * @return  返回的是购物车id
     */
     ShoppingCart queryCar(String productId,String userId);

    /**
     * 添加购物车信息 (查询时没有数据就添加)
     * @param productId 商品Id
     * @param quantity  商品鞋的数量
     * @param userId 用户ID
     * @return  返回的是添加购物车 true成功，false失败
     */
    boolean addCar(String productId,int quantity,String userId);

    /**
     * 更新购物车信息 (查询时有同名数据)
     * @param shoppingCartId 购物车Id
     * @param quantity 商品鞋的数量
     * @return 返回的是更新购物车 true成功，false失败
     */
    boolean updateCar(String shoppingCartId,int quantity);

    /**
     * 删除购物车内指定商品的信息
     * @param shoppingCartId 购物车信息
     * @return true删除成功，fasle 删除失败
     */
    boolean removeCarShoes(String shoppingCartId);

    /**
     * 生成订单，删除购物车内的商品
     * @param shoppingCarId 购物车ID
     * @param userId  用户Id
     * @return true删除成功，false删除失败
     */
    boolean shanchuCarShoes(String shoppingCarId, String userId, Connection con);

    /**
     * 查询此用户下所有商品
     * @param userId  当前用户Id
     * @return 购物车内商品的集合
     */
    List<ShoppingCart> queryAllCarShoes(String userId);
}
